﻿// 数谜 KAKURO2.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>

/*
https://algospot.com/judge/problem/read/KAKURO2

问题：
现在我们已经编写了一个生成Kakuro I输入文件的程序，可以开始解决Kakuro谜题。

编写一个程序来解决Kakuro谜题。有关Kakuro规则，请参阅Kakuro I。

输入：
输入文件的第一行是测试用例的数量T。

对于每个测试用例的第一行，给出游戏板的大小N（<= 20）。接下来的N行将从上到下给出游戏板的描述。这些行将有N个数字，其中0表示黑色/提示单元格，1表示白色单元格。在接下来的一行中，给出提示数目Q。接下来的Q行给出游戏板上的提示，每个提示由四个整数描述：y，x，direction和sum。sum是提示的值（1 <= sum <= 45），（y，x）是提示单元格的基于1的坐标。如果提示线索是水平和，则direction为0；如果提示线索是垂直和，则direction为1。

可以假设对于所有的测试用例，都存在唯一的有效解决方案。

输出：
对于每个测试用例，打印解决后的Kakuro游戏板，每行有N个数字。对于黑色或提示单元格，打印0，对于填充的白色单元格，打印填入的数字。

示例输入：
1
8
0 0 0 0 0 0 0 0
0 1 1 0 0 1 1 1
0 1 1 0 1 1 1 1
0 1 1 1 1 1 0 0
0 0 1 1 0 1 1 0
0 0 0 1 1 1 1 1
0 1 1 1 1 0 1 1
0 1 1 1 0 0 1 1
24
2 1 0 16
2 5 0 24
3 1 0 17
3 4 0 29
4 1 0 35
5 2 0 7
5 5 0 8
6 3 0 16
7 1 0 21
7 6 0 5
8 1 0 6
8 6 0 3
1 2 1 23
1 3 1 30
1 6 1 27
1 7 1 12
1 8 1 16
2 5 1 17
3 4 1 15
4 7 1 12
5 5 1 7
5 8 1 7
6 2 1 11
6 3 1 10

示例输出：
0 0 0 0 0 0 0 0
0 9 7 0 0 8 7 9
0 8 9 0 8 9 5 7
0 6 8 5 9 7 0 0
0 0 6 1 0 2 6 0
0 0 0 4 6 1 3 2
0 8 9 3 1 0 1 4
0 3 1 2 0 0 2 1
*/
int main()
{
    std::cout << "Hello World!\n";
}

 